package web.ctroller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

@Controller
@RequestMapping("/user")
public class UserController {

    //定义资源  返回值定义为void，默认的资源跳转路径为当前控制器方法的方法名，所以这种情况下导致了死循环 Circular view path [test1]
    @RequestMapping("/test1")
    public String test1(){
        System.out.println("hello springmvc");

        //默认是转发跳转
//        return "/WEB-INF/html/a.html";
        return "a";
    }

    @RequestMapping("/test2")
    public String test2(){
        System.out.println("hello springmvc");

        //默认是转发跳转
//        return "/WEB-INF/html/b.html";
        return "b";
    }

    @RequestMapping("/test3")
    public String test3(){
        System.out.println("hello springmvc3333");

        /*
            重定向: 在返回资源路径时，一旦加上redirect前缀，视图解析器配置的前后缀就无效
            javaweb中进行重定向跳转时，路径： 项目路径+资源路径
            springmvc中进行重定向跳转时，路径：资源路径
         */
        return "redirect:/test.jsp";
    }

    @RequestMapping("/test4")
    public String test4(){
        System.out.println("hello springmvc444");

        /*
            在返回资源路径时，一旦加上forward前缀，视图解析器配置的前后缀就无效
            javaweb中进行转发向跳转时，路径： 资源路径
            springmvc中进行重定向跳转时，路径：资源路径
         */
        return "forward:/test.jsp";
    }


    @RequestMapping("/regist")
    public String regist(String name,Integer age,String password){
        System.out.println("name:" + name);
        System.out.println("age:" + age);
        System.out.println("password:" + password);

        return "redirect:/test.jsp";
    }

    @RequestMapping("/login")
    @ResponseBody
    public String login(HttpServletRequest req){
        req.getSession().setAttribute("user","zs");

        return "success";
    }
}
